﻿using System;
using System.Linq;
using System.Text;
using DongFangGuoKai.WMSPlatform.Domain.Enums;
using SqlSugar;

namespace DongFangGuoKai.WMSPlatform.Domain.Models
{
    ///<summary>
    ///仓位
    ///</summary>
    [SugarTable("DBO.t_Cell")]
    public partial class t_Cell
    {
        public t_Cell()
        {


        }
        /// <summary>
        /// Desc:主键
        /// Default:
        /// Nullable:False
        /// </summary>           
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }

        /// <summary>
        /// Desc:仓位编码
        /// Default:
        /// Nullable:False
        /// </summary>           
        public string Code { get; set; }

        /// <summary>
        /// Desc:仓位名称
        /// Default:
        /// Nullable:False
        /// </summary>           
        public string Name { get; set; }

        /// <summary>
        /// Desc:
        /// Default:1
        /// Nullable:False
        /// </summary>           
        public EmCellType CellType { get; set; }

        /// <summary>
        /// Desc:库房Id
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int WhId { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? WhCode { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? WhName { get; set; }

        /// <summary>
        /// Desc:库区Id
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int AreaId { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? AreaCode { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? AreaName { get; set; }

        /// <summary>
        /// Desc:巷道Id
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int RoutewayId { get; set; }

        /// <summary>
        /// Desc:货架Id
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int ShelfId { get; set; }

        /// <summary>
        /// Desc:货架编码
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? ShelfCode { get; set; }

        /// <summary>
        /// Desc:货架名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? ShelfName { get; set; }

        /// <summary>
        /// Desc:状态：0-故障；1-正常;2-锁定;3-上架禁用；4-下架禁用；5-上下架禁用；6-取空异常；7-占位异常 8-空箱
        /// Default:1
        /// Nullable:False
        /// </summary>           
        public int Status { get; set; }

        /// <summary>
        /// Desc:排号
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int LineNO { get; set; }

        /// <summary>
        /// Desc:层号
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int LayerNO { get; set; }

        /// <summary>
        /// Desc:列号
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int ColumnNO { get; set; }

        /// <summary>
        /// Desc:深度：0:代表一深位、1:代表二深位、2:代表三深位、3:代表四深位；当项目用不上深度时，该值赋值0
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public int DepthIndex { get; set; }

        /// <summary>
        /// Desc:是否为最深度的仓位
        /// Default:1
        /// Nullable:True
        /// </summary>           
        public object? IsMaxDepth { get; set; }

        /// <summary>
        /// Desc:ERP仓位编码
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? ERPCode { get; set; }

        /// <summary>
        /// Desc:当前业务类型：0-无；1-入库；2-出库；3-盘点；
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public EmBusinessType BusinessType { get; set; }

        /// <summary>
        /// Desc:是否锁定
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public bool IsLock { get; set; }

        /// <summary>
        /// Desc:备注
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Remark { get; set; }

        /// <summary>
        /// Desc:创建时间
        /// Default:DateTime.Now
        /// Nullable:False
        /// </summary>           
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// Desc:创建人Id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? CreateUserId { get; set; }

        /// <summary>
        /// Desc:创建人
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? CreateUserName { get; set; }

        /// <summary>
        /// Desc:修改时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? ModifyDate { get; set; }

        /// <summary>
        /// Desc:修改用户Id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? ModifyUserId { get; set; }

        /// <summary>
        /// Desc:修改人
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? ModifyUserName { get; set; }

        /// <summary>
        /// Desc:满仓状态：0-空仓；1-满仓；2-不满仓
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public int FullStatus { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:False
        /// </summary>           
        public decimal DistanceValue { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? LogicalPartCode { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? LogicalPartName { get; set; }

        /// <summary>
        /// Desc:
        /// Default:3
        /// Nullable:False
        /// </summary>           
        public int HeightType { get; set; }

    }
}
